/*
重定义
*/
#include <iostream>

using namespace std;

class Base
{
public:
    int a;
    Base()
    {
        a = 0;
    }
    Base(int a)
    {
        this->a = a;
    }
    void showData(void)
    {
        cout << this->a << endl;
    }
    void showData(int a)
    {
        cout << a << endl;
    }

};

class Children:public Base
{
public:
    int a;
    Children()
    {
        a = 10;
    }
    Children(int a, int b):Base(a)
    {
        this->a = b;
    }   
    void showData(void)
    {
        cout << this->a << endl;
    }
    void showData(int a)
    {
        cout << "haha" << endl;
    }
    void showData(int a, int b)
    {
        cout << "kaka" << endl;
    }
};

int main(int argc, char **argv)
{
    Children b(40, 66);

    cout << b.a << endl;
    cout << b.Base::a << endl;

    cout << sizeof(Children) << endl;

    b.showData(10);
    b.Base::showData(10);
    b.showData(10, 20);

    return 0;
}